80036514	selected solo animation
80036518	15788-15818	animations for intro block type 4	0x10 each

potential new format:
0x0	2	anim
0x2	2	start point
0x4	2	run length
0x6	2	rate, * 10000

42BE0000	95	005F
42200000	40	0028
40E00000	7	0007
3CA3D70A	0.02	00C8 (2710) or 0014 (0064)
3F000000	0.5	1388 (2710) or 01F4 (0064)

003D	00F4
0042	0108
0061	0184
0062	0188
0063	018C
0064	0190
0066	0198
0067	019C
00B0	02C0


ani	val1	val2	val3*10000
003D	005F	FFFF	00C8
0042	0007	0028	1388
0061	0000	FFFF	1388
0062	0000	FFFF	1388
0063	0000	FFFF	1388
0064	0000	FFFF	1388
0066	0000	FFFF	1388
0067	0000	FFFF	1388
00B0	0000	FFFF	1388



reset just prior to parsing the intro block commands:
//7F005A10:	SW	R0,6514 (AT)

7F005C28:	writes value set in intro block command to 80036514 register


//7F07ABBC:	0x	use, to load the animation!
LUI	T0,8003
LW	T0,6514 (T0)	T0=80036514: animation register
LUI	T2,8003
LUI	S0,8008
ADDIU	T2,T2,6518	T2=80036518: base address for animations
SLL	T1,T0,0x4
ADDIU	S0,S0,A0B0	S0=8007A0B0
ADDU	V0,T1,T2	V0=address for chosen ani data
LW	T5,0000 (S0)	T5=cur. playerdata
LWC1	F0,0004 (V0)	F0=val1
LUI	T4,8007
LW	T4,9538 (T4)	T4=80069538: pointer to animation binaries
LW	T3,0000 (V0)	T3=offset to ani
LWC1	F12,0008 (V0)	F12=val2
LWC1	F2,000C (V0)	F2=val3
MTC1	R0,F10
LW	A0,00D4 (T5)	A0=player's obj.instance
MFC1	A3,F0		A3=val1
OR	A2,R0,R0	A2=0
ADDU	A1,T3,T4	A1=pointer to selected ani binary
SWC1	F12,0078 (SP)	save val2
SWC1	F2,0010 (SP)	save val3
JAL	7F06FCA8
SWC1	F10,0014 (SP)	0->SP+14


+ +
 +
+ +

Potential Rewrite
//7F07AB84:	0xAF6B4
14400039	-BNEZ	V0,7F07AC6C
3C018003	LUI	AT,8003
44806000	-MTC1	R0,F12	F12 must=0
AC2064A4	SW	R0,64A4 (AT)
24190001	-ADDIU	T9,R0,0001
AC3964A8	SW	T9,64A8 (AT)
3C013F80	LUI	AT,3F80
0FC20284	JAL	7F080A10
44817000	MTC1	AT,F14
0FC1E73C	JAL	7F079CF0	leaves AT at 80050000...	actually, it doesn't have to...  set 7F07A49C->LUI AT,8005
00000000	NOP
//7F07ABB0:	0xAF6E0	use, to load the animation!
3C0A8003	LUI	T2,8003
8D496514	LW	T1,6514 (T2)	T0=80036514: animation register
000948C0	SLL	T1,T1,0x3	newsize
012A1021	ADDU	V0,T1,T2	V0=address for chosen ani data
844B6518	LH	T3,6518 (V0)	T3=offset to ani
000B5880	SLL	T3,T3,0x2
016A2821	ADDU	A1,T3,T2
8CA59D6C	LW	A1,9D6C (A1)
3C108008	LUI	S0,8008
2610A0B0	ADDIU	S0,S0,A0B0
8E0D0000	LW	T5,0000 (S0)	T5=cur. playerdata
8DA400D4	LW	A0,00D4 (T5)	A0=player's obj.instance
//
8446651E	LH	A2,651E (V0)
44861000	MTC1	A2,F2	F2=val3	LH A2, MTC1, CVT, DIV, SWC1, and need divisor
C4201A3C	LWC1	F0,1A3C (AT)	10000, borrowed from main menu (80051A3C), used in scale division!
468010A0	CVT.S.W	F2,F2
46001083	DIV.S	F2,F2,F0
//
8447651A	LH	A3,651A (V0)
44870000	MTC1	A3,F0
E7A20010	SWC1	F2,0010 (SP)	save val3
46800020	CVT.S.W	F0,F0	F0=val1
44070000	MFC1	A3,F0		A3=val1
//
8446651C	LH	A2,651C (V0)
44866000	MTC1	A2,F12
00003025	OR	A2,R0,R0	A2=0
46806320	CVT.S.W	F12,F12
E7AC0078	SWC1	F12,0078 (SP)	save val2
//
0FC1BF2A	JAL	7F06FCA8
AFA00014	SW	R0,0014 (SP)	0->SP+14
44808000	MTC1	R0,F16
C7AC0078	LWC1	F12,0078 (SP)
460C803C	C.LT.S	F16,F12
00000000	NOP
45000004	BC1F	+4
8E0F0000	LW	T7,0000 (S0)
//7F07AC3C:	0xAF76C
44056000	-MFC1	A1,F12
0FC1BF7A	-JAL	7F06FDE8
8DE400D4	LW	A0,00D4 (T7)